1. Field of the Invention
This invention relates to the field of computer networking, and in particular to a fast implementation of a buffer-credit based system for high speed serial communication.
2. Description of the Related Art
Internetworking of high-performance computers has become the focus of much attention in the data communications industry. Performance improvements in processors and peripherals, along with the move to distributed architectures such as client/server, have spawned increasingly data-intensive and high-speed networking applications, such as medical imaging, multimedia, and scientific visualization. However, the interconnections between the systems and their input/output devices cannot keep up with the blinding data rates, nor can they provide the distances needed for local area networks spanning campus-wide areas.
According to "Amdahl's Law", a megabit per second of input/output (I/O) capability is needed for every MIPS of processor performance. Current communications standards top out at just over 100 megabits per second, not nearly fast enough, as technical computing applications already demand processors exceeding 1,000 MIPS. The deficiencies in current transmission rates results in the communications channel becoming a bottleneck to system performance.
A new protocol known as Fibre Channel is 10 to 250 times faster than existing networks, transmitting at rates exceeding 1 Gbps in both directions simultaneously. It defines standard media and signaling conventions for transporting data in a serial fashion, it provides an error correcting channel code and a frame structure for transporting the data, it sets out a flow control methodology, creates some common services, and supports interfaces to existing higher level protocols such as SCSI (small computer system interface). The Fibre Channel protocol can be applied to various network topologies including point-to-point, ring, and switched. The Fibre Channel protocol is being proposed as an ANSI (American National Standards Institute, Inc.) standard, and a multitude of reference material is readily available at http://www.fibrechannel.com.
Of interest to the instant application, the Fibre Channel protocol sets out a buffer-credit flow control methodology. Under this methodology, before a first network node (initiating node) can transmit a data frame to a second network node (responding node), the initiating node must first receive a buffer-credit from the responding node, indicating that the responding node has available space in its receive buffer for a data frame. Due to the high data rates, minimum latencies are required. It is undesirable for the responding node to determine an available number of buffer credits by dividing the receive buffer capacity by the maximum frame size. Further, predetermination of the number of buffer credits is not possible due to the programmability of the maximum frame size, and assuming a worst case scenario (as is necessary for predetermination) results in extremely inefficient use of the receive buffer. A low-latency implementation of buffer-credit determination is needed.